#!/usr/bin/env bash
# 
# 1.7 数组和关联数组

# 定义数组方法
array_var=(1 2 3 4 5 6)

array_var[0]=test1
array_var[1]=test2
array_var[2]=test3
array_var[3]=test4
array_var[4]=test5
array_var[5]=test6


# 打印特定索引的数组元素内容
echo ${array_var[0]}   # test1

index=5
echo ${array_var[$index]}  # test6


# 以清单形式打印数组中的所有值：
echo ${array_var[*]} # test1 test2 test3 test4 test5 test6
# 也可以使用
echo ${array_var[@]} # test1 test2 test3 test4 test5 test6


# 打印数组长度（即数组中元素的个数）
echo ${#array_var[*]} # 6


# 关联数组
declare -A ass_array

# 1) 利用内嵌“索引-值”列表的方法，提供一个“索引-值”列表的方法，提供一个“索引-值”列表
ass_array=([index1]=val1 [index2]=val2)

# 2) 使用独立的“索引-值”进行赋值
ass_array[index1]=val1 
ass_array[index2]=val2

# 举例子，如何使用关联数组为水果制定价格
declare -A fruits_value
fruits_value=([apple]='100 dollars' [orange]='150 dollars')

echo "Apple costs ${fruits_value[apple]}"  # Apple costs 100 dollars

# 列出数组索引
echo ${!fruits_value[*]}
# 或
echo ${!fruits_value[@]}


